Information processing system, control method, and storage medium

ABSTRACT

An information processing system allows an operation status of a web application cooperating with a multifunction peripheral (MFP) and being operated on a mobile terminal to be handed over to the MFP by simply causing the mobile terminal and the MFP to cooperate.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/884,625 filed on May 27, 2020, which claims priority fromJapanese Patent Application No. 2019-102883, filed May 31, 2019, all ofwhich are hereby incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to a technique for cooperation between aplurality of information processing apparatuses.

Description of the Related Art

In recent years, an increasing number of image processing apparatuses(such as multifunction peripherals (MFPs)) installed in offices have afunction of exchanging data with a mobile terminal. For example, therehave been known a technique for transmitting print data from a mobileterminal to an MFP and executing print processing by the MFP and atechnique for loading image data read by a scanner of an MFP into amobile terminal. A technique for, when an MFP performs mail transmissionprocessing, receiving transmission setting information indicatingtransmission settings from a mobile terminal, reflecting the receivedtransmission setting information, and performing the mail transmissionprocessing has been discussed (for example, Japanese Patent ApplicationLaid-Open No. 2017-108338). A technique that allows, if the remainingbattery level of a mobile terminal becomes low in making MFP settingoperations from a screen of the mobile terminal, the mobile terminal totransmit handover information to the MFP, and the MFP to display asetting screen having been opened on the mobile terminal thereon hasalso been discussed (for example, Japanese Patent Application Laid-OpenNO. 2015-207247). In such a manner, the setting operation can be handedover between an MFP and a mobile terminal.

However, according to Japanese Patent Application Laid-Open No.2017-108338, the timing at which the setting operation can be handedover between the mobile terminal and the MFP is limited. According toJapanese Patent Application Laid-Open No. 2015-207247, the settingoperation can be handed over between the mobile terminal and the MFPeven if there is a large distance between the mobile terminal and theMFP. In other words, handover can be performed against the intention ofthe user. The conventional techniques therefore do not always improvethe convenience of the user. The present invention is directed toproviding a technique for performing handover of the setting operationby the user bringing the mobile terminal close to the MFP withoutlimiting the timing at which the setting operation can be handed over.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, an informationprocessing system includes a web server configured to provide a sequenceof operation screens, an image processing apparatus configured to accessthe web server, and an information processing apparatus configured toaccess the web server. The web server includes a first memory, and afirst processor in communication with the first memory. The firstprocessor performs registering first information indicating an operationscreen operated on the information processing apparatus and a status ofoperation, and providing a second operation screen to the imageprocessing apparatus. The image processing apparatus includes a secondmemory, and a second processor in communication with the second memory.The second processor performs receiving second information correspondingto the registered first information, and displaying the second operationscreen provided by the web server. In a case where the image processingapparatus and the information processing apparatus are close to eachother, the second information corresponding to the registered firstinformation is transmitted from the information processing apparatus tothe image processing apparatus. The receiving includes receiving thetransmitted second information, and the displaying includes displayingthe second operation screen, provided by the web server, on which thestatus of operation is reflected, based on the registered firstinformation corresponding to the transmitted second information.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a configuration of an informationprocessing system according to a first exemplary embodiment of thepresent invention.

FIG. 2 is a block diagram illustrating a hardware configuration of amultifunction peripheral (MFP) according to the present exemplaryembodiment.

FIG. 3 is a block diagram illustrating a hardware configuration of amobile terminal according to the present exemplary embodiment.

FIG. 4 is a block diagram illustrating a hardware configuration of amanagement server and an application server according to the presentexemplary embodiment.

FIG. 5 is a block diagram illustrating a software configuration of theMFP according to the present exemplary embodiment.

FIG. 6 is a block diagram illustrating a software configuration of theapplication server according to the present exemplary embodiment.

FIG. 7 is a block diagram illustrating a software configuration of themanagement server according to the present exemplary embodiment.

FIG. 8 is a block diagram illustrating a software configuration of themobile terminal according to the present exemplary embodiment.

FIG. 9 is a sequence diagram illustrating a flow of a series ofprocesses performed by the information processing system according tothe present exemplary embodiment.

FIG. 10 is a flowchart illustrating processing of the application serveraccording to the present exemplary embodiment.

FIGS. 11A, 11B, 11C, and 11D are flowcharts illustrating processing ofthe management server according to the present exemplary embodiment.

FIGS. 12A and 12B are flowcharts illustrating processing of the mobileterminal according to the present exemplary embodiment.

FIG. 13 is a flowchart illustrating processing of the MFP according tothe present exemplary embodiment.

FIG. 14 illustrates an example of a sequence management table accordingto the present exemplary embodiment.

FIG. 15 illustrates an example of a handover management table accordingto the present exemplary embodiment.

FIGS. 16A to 16F illustrate examples of user interfaces (UIs) foroperation screens of a web application according to the presentexemplary embodiment, with FIGS. 16A to 16C illustrating an example UIfor the mobile terminal, and FIGS. 16D to F illustrating an example UIfor the MFP.

DESCRIPTION OF THE EMBODIMENTS

Exemplary embodiments of the present invention will be described belowwith reference to the drawings.

The following exemplary embodiments are not intended to limit theinventions set forth in the claims. Not all combinations of featuresdescribed in the exemplary embodiments are indispensable to the solvingmeans of the present invention.

A first exemplary embodiment will be described below. FIG. 1 is adiagram illustrating an example of a system configuration of aninformation processing system according to the present exemplaryembodiment. The information processing system includes a multifunctionperipheral (MFP) 101 connected to a local area network (LAN) 110, amobile terminal 102 wirelessly connected to the LAN 110 via a wirelessaccess point 130, and a management server 103 and an application server104 connected to a wide area network (WAN) 120. The apparatuses on theLAN 110 and the apparatuses on the WAN 120 can communicate with eachother via each other's networks. FIG. 1 illustrates an example of atypical network configuration, and each apparatus may be connected toeither the LAN 110 or the WAN 120. The MFP 101 may be connected to thewireless access point 130.

The MFP 101 is an image processing apparatus including a scanner and aprinter. While the present exemplary embodiment is described by usingthe MFP 101 as an example of the image processing apparatus, this is notrestrictive. The image processing apparatus may be a single-functionapparatus. The MFP 101 includes a web browser as an application program.While the information processing system illustrated in FIG. 1 includesonly one MFP, the information processing system may include a pluralityof MFPs. The mobile terminal 102 is a portable information processingapparatus. The mobile terminal 102 includes a mobile application thatcan display web contents. The mobile terminal 102 according to thepresent exemplary embodiment is assumed to be, but not limited to, aterminal device such as a smartphone and a tablet terminal. The MFP 101and the mobile terminal 102 can perform communication by short-rangewireless communication such as near field communication (NFC) andBluetooth (registered trademark) communication. The management server103 is a server for managing information for handing over an operationstatus of a web application provided by the application server 104(described below) from the mobile terminal 102 to the MFP 101. Theapplication server 104 is a web server that provides the webapplication. The provided web application can be accessed from the MFP101 and the mobile terminal 102. By accessing the application server104, the MFP 101 and the mobile terminal 102 display an operation screenof the web application and return operation content received on theoperation screen to the application server 104. The present exemplaryembodiment is characterized in that the status of the web applicationoperated on the mobile terminal 102 can be handed over to the MFP 101.The number of application servers is not limited to one, and there maybe a plurality of application servers corresponding to the number of webapplications to be used.

FIG. 2 is a block diagram illustrating a hardware configuration of theMFP 101. A control unit 210 including a central processing unit (CPU)211 controls operation of the entire MFP 101. The CPU 211 reads controlprograms stored in a read-only memory (ROM) 212 and a hard disk drive(HDD) 214 and performs various types of control processing such as readcontrol and transmission control. A random access memory (RAM) 213 isused as a temporary storage area such as a main memory and a work areaof the CPU 211. The HDD 214 stores image data and various programsincluding an installed application program. A short-range wirelesscommunication interface (I/F) 215 is an I/F for short-range wirelesscommunication such as NFC and Bluetooth (registered trademark)communication. The short-range wireless communication I/F 215communicates with and exchanges data with the mobile terminal 102. TheCPU 211 serves as an obtaining unit configured to notify the managementserver of the received second information.

An operation unit I/F 216 connects an operation unit 221 with thecontrol unit 210. The operation unit 221 includes a liquid crystaldisplay unit having a touch panel function and a keyboard. A printer I/F217 connects a printer 222 with the control unit 210. Image data to beprinted by the printer 222 is transferred from the control unit 210 tothe printer 222 via the printer I/F 217, and printed on a recordingmedium by the printer 222. A scanner I/F 218 connects a scanner 223 withthe control unit 210. The scanner 223 reads an image on a document togenerate image data, and inputs the image data to the control unit 210via the scanner I/F 218. A sensor I/F 219 connects a contact detectionsensor 224 with the control unit 210. The contact detection sensor 224is a sensor for detecting whether the mobile terminal 102 is in contactat a predetermined position on the MFP 101. In the present exemplaryembodiment, the MFP 101 includes a mobile terminal placing spot (notillustrated) for the mobile terminal 102 to be placed on. The contactdetection sensor 224 detects whether the mobile terminal 102 is placedon the mobile terminal placing spot. A network I/F 220 connects thecontrol unit 210 (MFP 101) to the LAN 110. The network I/F 220 transmitsand receives various types of information to/from other apparatuses onthe LAN 110 or the WAN 120. The network I/F 220 serves as a receivingunit, configured to receive second information corresponding to thefirst information registered by a registering unit from the informationprocessing apparatus. The operation unit I/F 216 serves as a displayingunit configured to display the second operation screen provided by aproviding unit. The detection sensor 224 serves as a detecting unitconfigured to detect whether the information processing apparatus isplaced at a predetermined position.

FIG. 3 is a block diagram illustrating a hardware configuration of themobile terminal 102. A control unit 310 including a CPU 311 controlsoperation of the entire device. The CPU 311 reads control programsstored in a ROM 312 and a flash memory 314 and performs various types ofcontrol processing. A RAM 313 is used as a temporary storage area suchas a main memory and a work area of the CPU 311. The flash memory 314stores various programs and data.

An operation unit I/F 315 connects an operation unit 318 with thecontrol unit 310. The operation unit 318 includes a liquid crystaldisplay unit having a touch panel function. A short-range wirelesscommunication I/F 316 is an I/F for short-range wireless communicationsuch as NFC and Bluetooth (registered trademark) communication. Theshort-range wireless communication I/F 316 communicates with andexchanges data with the MFP 101. A network I/F 317 connects the controlunit 310 to the LAN 110 via the wireless access point 130. The networkI/F 317 is capable of wireless communication. The network I/F 317transmits and receives various types of information to/from otherapparatuses on the WAN 120 or the LAN 110 by wireless communication.

FIG. 4 is a block diagram illustrating a hardware configuration of themanagement server 103 and the application server 104. A control unit 410including a CPU 411 controls operation of the entire apparatus. The CPU411 reads control programs stored in a ROM 412 and an HDD 414 andperforms various types of control processing. A RAM 413 is used as atemporary storage area such as a main memory and a work area of the CPU411. The HDD 414 stores various programs and data. The RAM 413 or HDD414 of the application server 104 serves as a registration unitconfigured to register first information indicating: a first operationscreen operated on the information processing apparatus, and a statusoperation. The CPU 411 of the application server 104 serves as anupdating unit and an instructing unit. The updating unit 411 isconfigured to update the first information registered by the registeringunit 413 each time the operation screen transitions based on a useroperation. The instructing unit 411 is configured to give an instructionto register handover information associated with the first informationregistered by the registering unit 413.

A display unit I/F 415 connects a display unit 418 with the control unit410. A keyboard I/F 416 connects a keyboard 419 with the control unit410. The CPU 411 recognizes instructions given by the user via thekeyboard 419, and makes a screen displayed on the display unit 418transition based on the recognized instructions. A network I/F 417connects the control unit 410 to the WAN 120. The network I/F 417transmits and receives various types of information to/from otherapparatuses on the WAN 120 or the LAN 110. The network IF 417 of theapplication server 104 serves as a providing unit configured to providea second operation screen.

FIG. 5 is a software configuration diagram of the MFP 101 according tothe present exemplary embodiment. This software configuration diagram isa functional block diagram of software implemented by the CPU 211 of theMFP 101 reading programs stored in the ROM 212 and the HDD 214 into theRAM 213 and executing the programs.

A mobile terminal cooperation unit 501 performs processing forcooperating with the mobile terminal 102. For example, the mobileterminal cooperation unit 501 detects that the mobile terminal 102 isplaced on the mobile terminal placing spot by using the contactdetection sensor 224, and communicates with the mobile terminal 102 byusing the short-range wireless communication I/F 215. Here, the term“cooperation” refers to a state where the MFP 101 and the mobileterminal 102 can communicate with and exchange data with each other. Theterm will hereinafter be used for the same meaning.

A menu display unit 502 displays buttons (hereinafter, applicationbuttons) for calling applications on a menu screen. The applicationbuttons are buttons for calling various functions such as an applicationinstalled on the MFP 101 and a web application.

A web browser 503 accesses a web server to obtain web content. The MFP101 may include other functions that are not illustrated in thedrawings.

FIG. 6 is a software configuration diagram of the application server 104according to the present exemplary embodiment. This softwareconfiguration diagram is a functional block diagram of softwareimplemented by the CPU 411 of the application server 104 readingprograms stored in the ROM 412 and the HDD 414 into the RAM 413 andexecuting the programs.

A web application 601 is a program running on the application server104. The web application 601 provides a screen (operation screen) foroperating the web application 601 to the MFP 101 and the mobile terminal102, and the MFP 101 and the mobile terminal 102 display the operationscreen on a web browser. The MFP 101 and the mobile terminal 102 displaythe operation screen of the web application 601 by accessing theapplication server 104, accept the user's operations on the operationscreen, and return the content of the accepted operations to theapplication server 104. For example, in a case where the web application601 instructs the MFP 101 to execute a scan, the user accesses theapplication server 104 via a web browser and makes settings on anoperation screen for scan setting, provided by the web application 601(in the present exemplary embodiment, the user accesses the applicationserver 104 a plurality of times and makes settings on a plurality ofoperation screens). The user can then give a scan execution instructionon an operation screen for scan execution, provided by the webapplication 601. Thus, application server (web server) 104 is configuredto provide a sequence of operation screens.

A sequence management table 602 is a table for managing situations(operation history) in a series of processes (hereinafter, sequence)where the user operates the web application 601 via a web browser. Thesequence refers to a procedure involving screen transition from a startto end of processing defined for each web application. For example, asequence for a scan application ranges from an instruction for makingscan settings to an instruction for executing the scan. The applicationserver 104 may include other functions that are not illustrated in FIG.6.

FIG. 14 illustrates an example of the sequence management table 602according to the present exemplary embodiment. The sequence managementtable 602 includes three columns 1401 to 1403.

A SequenceID column 1401 is a column containing identificationinformation (hereinafter, “sequence identifier (ID)”) for uniquelyidentifying a piece of sequence information. Sequence information isinformation including information defined in the columns 1401 to 1403.The values in the SequenceID column 1401 also serve as IDs for uniquelyspecifying the rows of the sequence management table 602. In thefollowing description, the values in the SequenceID column 1401 are usedto designate the rows of the sequence management table 602. For example,the row where the value of the SequenceID column 1401 is “s001” will bereferred to as “row s001”.

A SequenceData column 1402 is a column describing the operation statusat a point in time indicated by the SequenceID column 1401 in thesequence. The SequenceData column 1402 stores information (hereinafter,“sequence operation status data”) to be used to identify and restore anoperation status of the sequence. Examples of the information to be usedinclude an ID of an operation screen, a setting value set before theoperation screen, and an operation history.

A HandoverID column 1403 contains an ID (hereinafter, “handover ID”) foruniquely identifying a row of a handover management table 702 to bedescribed below. The HandoverID column 1403 links the sequencemanagement table 602 to the handover management table 702.

FIG. 7 is a software configuration diagram of the management server 103according to the present exemplary embodiment. This softwareconfiguration diagram is a functional block diagram of softwareimplemented by the CPU 411 of the management server 103 reading programsstored in the ROM 412 and the HDD 414 into the RAM 413 and executing theprograms.

A handover management unit 701 manages information (hereinafter,“handover information”) for handing over the sequence of the webapplication 601 from the mobile terminal 102 to the MFP 101. Thehandover management table 702 is a table where the handover informationis recorded. The handover management unit 701 and the handovermanagement table 702 do not need to be included in the management server103. For example, the handover management unit 701 and the handovermanagement table 702 may be included in the application server 104. Themanagement server 103 may include other functions that are notillustrated in FIG. 7.

FIG. 15 illustrates an example of the handover management table 702according to the present exemplary embodiment. The handover managementtable 702 includes three columns 1501 to 1503.

A HandoverID column 1501 is a column for defining an ID for uniquelyidentifying a piece of handover information, and corresponds to theHandoverID column 1403 of the sequence management table 602. The valuesin the HandoverID column 1501 also serve as IDs for uniquely specifyingthe rows of the handover management table 702. In the followingdescription, the values in the HandoverID column 1501 are used todesignate the rows of the handover management table 702. For example,the row where the value of the HandoverID column 1501 is “h001” will bereferred to as “row h001”.

A Uniform Resource Locator (URL) column 1502 contains a URL(hereinafter, “handover URL”) for the web browser 503 of the MFP 101 toaccess in handing over the sequence of the web application 601 to theMFP 101. The values in the URL column 1502 are the URLs of webapplications, which vary from one web application to another. Forexample, in the present exemplary embodiment, the URL of a webapplication to which the value in the SequenceID column 1401 is attachedas a query string is used as a handover URL. Since the value in theSequenceID column 1401 indicates the operation status of the sequence,the handover URL enables identification and restoration of the operationstatus of the sequence of the target web application.

A HandedoverFlag column 1503 lists flags indicating whether the targetsequences have been handed over to the MFP 101. A value “TRUE” in theHandedoverFlag column 1503 indicates that the target sequence has beenhanded over. Other values than “TRUE” indicate that the target sequencehas not been handed over.

FIG. 8 is a software configuration diagram of the mobile terminal 102according to the present exemplary embodiment. This softwareconfiguration diagram is a functional block diagram of softwareimplemented by the CPU 311 of the mobile terminal 102 reading programsstored in the ROM 312 and the flash memory 314 into the RAM 313 andexecuting the programs.

An MFP cooperation application 800 is an application for handing overoperations to the MFP 101, and includes a web content display unit 801and an MFP cooperation unit 802. The web content display unit 801accesses the application server 104 and displays web content. The MFPcooperation unit 802 performs processing for exchanging data with theMFP 101 by using the short-range wireless communication I/F 215.

Before describing the sequence diagram of FIG. 9, operation settinghandover according to the present exemplary embodiment will be outlinedwith reference to FIGS. 16A to 16F. The following description is givenby using the following case as an example: the mobile terminal 102 andthe MFP 101 can execute a web application that can give an instructionto transmit data generated by the MFP 101 scanning a document to adestination designated by user operations, and the settings of the webapplication are made on a screen of the mobile terminal 102 or the MFP101. FIGS. 16A to 16C are diagrams illustrating a transition of asetting screen of the mobile terminal 102. FIG. 16A illustrates asetting screen 1 (screen 1610) initially displayed when the webapplication is accessed. If a “NEXT” button 1601 is pressed, the screentransitions to a setting screen 2 (screen 1620) illustrated in FIG. 16B.If the user makes settings on the setting screen 2 and then presses a“NEXT” button 1602, the screen transitions to a setting screen 3 (screen1630) illustrated in FIG. 16C. If an “EXECUTE” button 1603 is pressed,the mobile terminal 102 transmits a scan execution instruction to theMFP 101. FIGS. 16D to 16F are diagrams illustrating a transition of asetting screen of the MFP 101. FIGS. 16D to 16F illustrate similarsetting screens to those illustrated in FIGS. 16A to 16C, with a similarscreen transition. Suppose, for example, that the user makes settings onthe setting screen 1 of FIG. 16A on the mobile terminal 102, and thenpresses the “NEXT” button 1601 to open the setting screen 2 of FIG. 16Band places the mobile terminal 102 on the mobile terminal placing spotof the MFP 101 to start short-range wireless communication between theMFP 101 and the mobile terminal 102. In such a case, the user cancontinue to make settings on a setting screen 2 (screen 1650) of FIG.16E on the MFP 101. If the setting screen 1 of FIG. 16A or the settingscreen 3 of FIG. 16C is open on the mobile terminal 102, the user cansimilarly continue to make settings on a setting screen 1 (screen 1640)of FIG. 16D or a setting screen 3 (screen 1660) of FIG. 16F on the MFP101. If the user advances the handed-over setting screen on the MFP 101and presses an “EXECUTE” button 1606 on setting screen 3 of FIG. 16F,the MFP 101 executes a scan and transmits a mail to the specifieddestination.

FIG. 9 is a sequence diagram illustrating a flow of a series ofprocesses that the MFP 101, the mobile terminal 102, the managementserver 103, and the application server 104 according to the presentexemplary embodiment perform in a cooperative manner. FIG. 9 illustratesan example where the web application 601 provided by the applicationserver 104 is operated by using the mobile terminal 102 and then thesequence is handed over to the MFP 101.

The application server 104 is a server that provides the web application601. The web application 601 is called by the MFP 101 or the mobileterminal 102. The management server 103 is a server used to manageinformation for handing over the operation status of the web application601 from the mobile terminal 102 to the MFP 101.

In step S901, the mobile terminal 102 receives the user's instruction toaccess the web application 601 and accesses the application server 104.Here, the MFP cooperation application 800 sends a request by using astart URL with which the sequence is started. The request here refers toprocessing for requesting the operation screen (setting screen) of FIG.16A.

In step S902, the application server 104 registers new sequenceinformation in the sequence management table 602. The sequenceinformation here includes status data on a sequence operation and asequence ID. In step S903, the application server 104 transmits the URLof the web application 601 being accessed by the mobile terminal 102 andthe sequence ID to the management server 103, and instructs themanagement server 103 to register handover information. In step S904,the management server 103 registers new handover information in thehandover management table 702. In step S905, the management server 103returns a response indicating a registration result of the handoverinformation to the application server 104. The response includes ahandover ID from which the new handover information issued in step S904can be uniquely identified. In the present exemplary embodiment, thehandover ID is issued by the management server 103. However, this is notrestrictive. For example, the handover ID may be issued by the mobileterminal 102. In such a case, the mobile terminal 102 includesinformation unique to the mobile terminal 102 (such as a Media AccessControl (MAC) address) into the query string in accessing the webapplication 601, and notifies the application server 104 and themanagement server 103 of the information.

In step S906, the application server 104 performs processingcorresponding to the request made in step S901. The application server104 identifies the situation in the sequence from the sequenceinformation, and performs processing appropriate to the request, i.e.,generates the setting screen of FIG. 16A in response to a screenacquisition request. In step S907, the application server 104 updatesthe sequence management table 602 with sequence information on which theprocessing performed in step S906 is reflected. Specifically, theapplication server 104 adds a value to or updates the value in theSequenceData column 1402 of the sequence management table 602 based onthe request. In step S908, the application server 104 returns a responseto the request made in step S901 to the mobile terminal 102 (displaysthe setting screen of FIG. 16A). Here, the handover ID is included aspart of the response.

In step S909, the mobile terminal 102 receives the user's instructions(the user makes settings on the setting screen 1 of FIG. 16A and pressesthe “NEXT” button 1601), and transmits the next request to theapplication server 104. The request includes information (handover ID)indicating the sequence.

In step S910, the application server 104 transmits access informationincluding a request URL to the management server 103. In step S911, uponreceiving the access information, the management server 103 checks thatthe request made in step S909 is not one for a handed-over sequence.

In step S912, the application server 104 performs processingcorresponding to the request made in step S909. The application server104 identifies the situation in the sequence based on the sequenceinformation included in the request, and performs processing appropriateto the request, i.e., records settings such as “one-sided documents” and“full color” made on the setting screen of FIG. 16A, and generates thesetting screen of FIG. 16B. In step S913, the application server 104updates the sequence management table 602 with the sequence informationon which the processing performed in step S912 is reflected (settinginformation such as “one-sided document” and “full color” set on thesetting screen of FIG. 16A). In step S914, the application server 104returns a response to the request made in step S909 to the mobileterminal 102 (displays the setting screen of FIG. 16B). Here, thehandover ID is included as part of the response.

The processing from step S909 to step S914 is performed each time themobile terminal 102 accepts the user's operations on the MFP cooperationapplication 800 and accesses the application server 104 to make arequest (in the following description, setting screen 2 of FIG. 16B isassumed to be displayed on the mobile terminal 102 here).

The following description will be given on the assumption that the userhas placed the mobile terminal 102 on the mobile terminal placing spotof the MFP 101.

In step S915, the MFP 101 detects that the mobile terminal 102 is placedon the mobile terminal placing spot by using the contact detectionsensor 224. In step S916, the MFP 101 and the mobile terminal 102establish a connection by short-range wireless communication. In stepS917, the mobile terminal 102 notifies the MFP 101 of the handover ID ofthe MFP cooperation application 800 that is being operated.

In step S918, the MFP 101 obtains handover information corresponding tothe handover ID notified in step S917 from the handover management table702 in the management server 103. In step S919, the MFP 101 determineswhether there is handover information. If there is handover information(YES in step S919), the processing proceeds to step S920. If there is nohandover information (NO in step S919), the processing is ended.

In step S920, the MFP 101 accesses a handover URL included in thehandover information obtained in step S918 by using the web browser 503(makes an acquisition request for the setting screen of FIG. 16E).

In step S921, the application server 104 transmits access information tothe management server 103. In step S922, the management server 103updates the handover information in the handover management table 702.Specifically, the management server 103 updates the value in theHandedoverFlag column 1503 with “TRUE”.

In step S923, the application server 104 performs processingcorresponding to the request made in step S920. The application server104 refers to the sequence management table 602 based on the sequenceinformation included in the handover information, identifies thesituation in the sequence (operation screen and operation history), andperforms processing appropriate to the request, i.e., in response to theacquisition request for the setting screen of FIG. 16E, stores theoperation history and generates the setting screen of FIG. 16E on whichthe operation history is reflected. In step S924, the application server104 updates the sequence management table 602 with the sequenceinformation on which the processing performed in step S923 is reflected.

In step S925, the application server 104 determines whether the sequenceis completed. If the sequence is completed (YES in step S925), theprocessing proceeds to step S926. If the sequence is not completed (NOin step S925), the processing proceeds to step S929.

In step S929, the application server 104 returns a response to therequest made in step S920 to the MFP 101, i.e., displays the settingscreen of FIG. 16E. This response may include the handover ID. Theprocessing of steps S920 to S929 is performed each time the MFP 101receives the user's operation on the web browser 503 and makes a requestto the application server 104. The processing for making a request instep S920 for the second and subsequent times is performed based on theuser's instruction via the MFP 101. For example, the user presses a“NEXT” button 1605 on the setting screen of FIG. 16E to make anacquisition request for the setting screen 3 of FIG. 16F. The userpresses the “EXECUTE” button 1606 on the setting screen of FIG. 16F toinstruct the MFP 101 to execute a scan. Given the execution instruction,the MFP 101 executes a scan under the set condition. In step S925, ifthe sequence is completed (if the user presses the “EXECUTE” button 1606on the setting screen of FIG. 16F) (YES in step S925), the processingproceeds to step S926. In step S926, the application server 104instructs the management server 103 to delete the handover information.In step S927, the management server 103 deletes the correspondinghandover information from the handover management table 702.

In step S928, the application server 104 deletes the sequenceinformation from the sequence management table 602. Here, the handoverID corresponding to the deleted handover information may be deleted fromthe mobile terminal 102.

While the web browser 503 is described to be automatically activated ifthere is handover information obtained by the MFP 101 in step S919, thisis not restrictive. A button for calling handover information may bedisplayed as one of the application buttons on the menu screen, and theweb browser 503 may be configured to be activated by the user pressingthe button. In the sequence diagram, the detection of the mobileterminal 102 by the contact detection sensor 224 and the establishmentof the short-range wireless communication trigger the subsequentprocessing. For example, if the contact detection sensor 224 detectsthat the mobile terminal 102 is placed on the mobile terminal placingspot, the MFP 101 issues a Bluetooth (registered trademark) beacon. Ifthe mobile terminal 102 receives the beacon and the radio fieldintensity of the beacon is higher than or equal to a predeterminedvalue, the mobile terminal 102 establishes a Bluetooth (registeredtrademark) communication and then the processing proceeds to the nextstep. This provides the effect that the operation can be handed overonly when the mobile terminal 102 is on the mobile terminal placing spotof the MFP 101. The mobile terminal placing spot is used as a unit fordetermining that the mobile terminal 102 is located near the MFP 101.However, the mobile terminal placing spot is may not be provided in theMFP 101, and any configuration may be used as long as the mobileterminal 102 and the MFP 101 can be found to be close to each other. Forexample, if the MFP 101 issues a Bluetooth (registered trademark)beacon, the mobile terminal 102 may receive the beacon and determinesthat the MFP 101 is at a close distance based on the radio fieldintensity of the beacon. If the MFP 101 is determined to be at a closedistance, the mobile terminal 102 may establish a Bluetooth (registeredtrademark) communication and transmit the handover ID to the MFP 101.The mobile terminal 102 may receive wireless LAN connection informationfrom the MFP 101 by using Bluetooth (registered trademark) packets,establish a wireless LAN communication with the MFP 101 by using thewireless LAN connection information, and then transmit the handover IDto the MFP 101 by the established wireless LAN communication. Takingadvantage of the characteristic that NFC communication can only beperformed between apparatuses communicating at a sufficiently closedistance, the mobile terminal 102 may determine that the MFP 101 is at aclose distance based on successful establishment of NFC communication.The mobile terminal 102 may receive the wireless LAN connectioninformation from the MFP 101 by using NFC communication, establish awireless LAN communication with the MFP 101 based on the wireless LANconnection information, and then transmit the handover ID to the MFP 101by the established wireless LAN communication. Moreover, if the MFP 101includes an NFC tag reader, the handover ID may be notified by writingthe handover ID to an NFC tag of the mobile terminal 102, facing themobile terminal 102 toward the MFP 101, and the NFC tag reader of theMFP 101 reading the handover ID. The MFP 101 thus receives the handoverID if the mobile terminal 102 is located near the MFP 101.

The effect of the sequence diagram will be described. If the mobileterminal 102 approaches the MFP 101, the operation status of the webapplication 601 executed halfway on the mobile terminal 102 can behanded over to the MFP 101.

FIG. 10 is a flowchart for describing processing of the applicationserver 104 according to the present exemplary embodiment. FIG. 10illustrates processing from reception of a request from the web browserof the MFP 101 or the mobile terminal 102 to returning of a response.The flowchart of FIG. 10 corresponds to the processing that theapplication server 104 performs in the series of processes illustratedin the sequence diagram of FIG. 9. The steps in the flowchart of FIG. 10are implemented by the CPU 411 of the application server 104 reading aprogram stored in the HDD 414 into the RAM 413 and executing theprogram.

In step S1001, the web application 601 receives a Hypertext TransferProtocol (HTTP) request from the web browser of the MFP 101 or themobile terminal 102. In the following description of the flowchart, theterm “request” refers to the HTTP request received in step S1001.

In step S1002, the web application 601 identifies the type of therequesting terminal (MFP 101 or mobile terminal 102) that hastransmitted the request.

In step S1003, the web application 601 determines whether the requestincludes information for identifying a sequence of the web application601. In the present exemplary embodiment, an example is described inwhich the determination is made by determining whether a sequence ID isattached to the request URL (URL for accessing the application server104) as a query string, whereas other methods may be used. For example,information from which the sequence can be identified may be included ina cookie or an HTTP header. If the request includes the information foridentifying the sequence (YES in step S1003), the processing proceeds tostep S1004. If the request does not include the information foridentifying the sequence (NO in step S1003), the processing proceeds tostep S1020.

In step S1004, the web application 601 extracts sequence informationincluding the sequence ID included in the query string of the requestURL from the sequence management table 602. Specifically, the webapplication 601 extracts a record having the value of the SequenceIDcolumn 1401 that coincides with the sequence ID included in the querystring of the request URL. In step S1005, the web application 601determines whether the sequence information is successfully extracted instep S1004. If the sequence information is successfully extracted (YESin step S1005), the processing proceeds to step S1006. If not (NO instep S1005), the processing proceeds to step S1020.

In step S1006, the web application 601 transmits access information tothe handover management unit 701 of the management server 103. Theaccess information includes the type of the requesting terminalidentified in step S1002 and the handover ID (the value in theHandoverID column 1403) included in the sequence information extractedin step S1004. In step S1007, the web application 601 receives aresponse to the access information transmitted in step S1006 from thehandover management unit 701 of the management server 103. In stepS1008, the web application 601 determines whether the response receivedin step S1007 is an error. If the response is an error (YES in stepS1008), the processing proceeds to step S1030. If the response is not anerror (NO in step S1008), the processing proceeds to step S1009.

In step S1009, the web application 601 identifies the operation statusin the sequence from the sequence operation status data (the value inthe SequenceData column 1402) included in the sequence informationextracted in step S1004, and performs processing appropriate to therequest. In step S1010, the web application 601 updates the sequencemanagement table 602 with the status in the sequence on which theprocessing performed in step S1009 is reflected as the sequenceoperation status data.

In step S1011, the web application 601 determines whether the targetsequence is completed based on the sequence operation status data. Ifthe sequence is completed (YES in step S1011), the processing proceedsto step S1012. If the sequence is not completed (NO in step S1011), theprocessing proceeds to step S1015.

In step S1012, the web application 601 transmits a delete instructionfor the handover information to the handover management unit 701 of themanagement server 103. Here, the web application 601 includes thehandover ID (the value in the HandoverID column 1403) included in thesequence information extracted in step S1004 in the delete instructionas information for identifying the handover information to be deleted.In step S1013, the web application 601 receives a response to the deleteinstruction transmitted in step S1012 from the handover management unit701 of the management server 103. In step S1014, the web application 601deletes sequence information from the sequence management table 602. Thesequence information to be deleted is the sequence information where theSequenceID column 1401 contains the sequence ID included in the querystring of the request URL.

In step S1015, the web application 601 returns the result of theprocessing in step S1009 to the requesting terminal as a response to therequest received in step S1001, and the processing is ended. Thehandover ID (the value in the HandoverID column 1403) is included in theresponse here. In the present exemplary embodiment, the handover ID isincluded in the custom header of the HTTP response, whereas othermethods may be used.

In step S1020, the web application 601 issues a new sequence ID. In stepS1021, the web application 601 registers new sequence informationincluding the sequence ID issued in step S1020 in the sequencemanagement table 602. The web application 601 registers the issuedsequence ID in the SequenceID column 1401, and the current sequenceoperation status data in the SequenceData column 1402. The HandoverIDcolumn 1403 is blank at this point in time.

10198105US02

In step S1022, the web application 601 transmits a registrationinstruction for handover information to the handover management unit 701of the management server 103. Here, the web application 601 includes ahandover URL (the URL of the web application 601 to which the sequenceID is attached as a query string) and the type of the requestingterminal identified in step S1002 in the registration instruction as thehandover information. In step S1023, the web application 601 receives aresponse to the registration instruction transmitted in step S1022 fromthe handover management unit 701 of the management server 103. Theresponse includes a handover ID for identifying the registered handoverinformation. In step S1024, the web application 601 registers thehandover ID received in step S1023 in the HandoverID column 1403 of thesequence management table 602. The processing proceeds to step S1009,and the web application 601 performs the subsequent processing.

In step S1030, the web application 601 returns error informationprohibiting subsequent operations to the requesting terminal as aresponse to the request received in step S1001. The processing is ended.

The effects of the flowchart of FIG. 10 will be described. Theapplication server 104 can register the handover ID and the user'soperation status in the sequence of the web application 601 inassociation with each other, and obtain and update the registeredinformation each time the user accesses the web application 601 via theweb browser of the MFP 101 or the mobile terminal 102. The applicationserver 104 can also notify the management server 103 of the registeredinformation.

FIGS. 11A to 11D are flowcharts for describing processing of themanagement server 103 according to the present exemplary embodiment. Thesteps in the flowcharts of FIGS. 11A to 11D are implemented by the CPU411 of the management server 103 reading programs stored in the ROM 412and the HDD 414 into the RAM 413 and executing the programs.

FIG. 11A is a flowchart for describing the processing performed by the10198105US02 management server 103 when the management server 103receives a registration instruction for handover information from theapplication server 104. The flowchart of FIG. 11A corresponds to theprocessing of the management server 103 in steps S903 to S905 in thesequence diagram of FIG. 9.

In step S1101, the handover management unit 701 receives a registrationinstruction for handover information from the application server 104.The registration instruction includes a handover URL and the type ofrequesting terminal identified in step S1002.

In step S1102, the handover management unit 701 issues a new handoverID. In step S1103, the handover management unit 701 registers newhandover information including the handover ID issued in step S1102 inthe handover management table 702. Here, the handover management unit701 registers the handover ID in the HandoverID column 1501, and thehandover URL in the URL column 1502. If the requesting terminal is anMFP, the handover management unit 701 registers “TRUE” in theHandedoverFlag column 1503. If the requesting terminal is not an MFP,the handover management unit 701 registers “FALSE” in the HandedoverFlagcolumn 1503.

In step S1104, the handover management unit 701 returns a responseindicating the completion of the registration to the application server104 as a response to the registration instruction received in stepS1101. The processing is then ended. The response here includes thehandover ID issued in step S1102.

FIG. 11B is a flowchart for describing the processing performed by themanagement server 103 when the management server 103 receives accessinformation from the application server 104. The flowchart of FIG. 11Bcorresponds to the processing of the management server 103 in steps S910and S911 and steps S921 and S922 in the sequence diagram of FIG. 9.

In step S1110, the handover management unit 701 receives accessinformation from the application server 104. The access informationincludes a handover ID and the 10198105US02 type of requesting terminalidentified in step S1002. In step S1111, the handover management unit701 extracts handover information including the received handover ID inthe HandoverID column 1501 from the handover management table 702.

In step S1112, the handover management unit 701 determines whether thehandover information is successfully extracted in step S1111. If thehandover information is successfully extracted (YES in step S1112), theprocessing proceeds to step S1113. If not (NO in step S1112), theprocessing proceeds to step S1130. In step S1130, the handovermanagement unit 701 returns a response indicating an error that thehandover information is not found to the application server 104. Theprocessing is then ended.

In step S1113, the handover management unit 701 determines whether thetype of the requesting terminal received from the application server 104in step S1110 is an MFP. If the type of the requesting terminal is anMFP (YES in step S1113), the processing proceeds to step S1114. If thetype of the requesting terminal is not an MFP (NO in step S1113), theprocessing proceeds to step S1115.

In step S1114, the handover management unit 701 updates the handovermanagement table 702 by setting “TRUE” in the HandedoverFlag column 1503of the handover information extracted in step S1111. The processingproceeds to step S1116.

In step S1115, the handover management unit 701 determines whether thevalue in the HandedoverFlag column 1503 of the handover informationextracted in step S1111 is “TRUE”. If the value in the HandedoverFlagcolumn 1503 is “TRUE” (YES in step S1115), the processing proceeds tostep S1120. If the value is not “TRUE” (NO in step S1115), theprocessing proceeds to step S1116.

In step S1116, the handover management unit 701 returns a responseindicating that the access information received in step S1110 isnormally accepted to the application server 104. The processing is thenended.

In step S1120, the handover management unit 701 returns a responseindicating an error that operations are prohibited to the applicationserver 104. The processing is 10198105US02 then ended.

FIG. 11C is a flowchart illustrating the processing performed by themanagement server 103 when the management server 103 receives a deleteinstruction for handover information from the application server 104.The flowchart of FIG. 11C corresponds to the processing of themanagement server 103 in steps 5926 and 5927 in the sequence diagram ofFIG. 9.

In step S1140, the handover management unit 701 receives a deleteinstruction for handover information from the application server 104.The delete instruction includes a handover ID. In step S1141, thehandover management unit 701 determines whether there is handoverinformation for which the delete instruction is received in the handovermanagement table 702. Specifically, the handover management unit 701determines whether there is a record having the value in columnHandoverID 1501 that coincides with the value of the handover IDreceived in step S1140. If there is such handover information (YES instep S1141), the processing proceeds to step S1142. If not (NO in stepS1141), the processing proceeds to step S1150. In step S1150, thehandover management unit 701 returns a response indicating that there isno handover information to be deleted to the application server 104. Theprocessing is then ended.

In step S1142, the handover management unit 701 deletes the record wherethe HandoverID column 1501 contains the value of handover ID received instep S1140 from the handover management table 702.

In step S1143, the handover management unit 701 notifies the applicationserver 104 that the handover information is deleted as a response to thedelete instruction received in step S1140. The processing is then ended.

FIG. 11D is a flowchart illustrating the processing performed by themanagement server 103 when the management server 103 receives anacquisition request for handover information from the application server104. The flowchart of FIG. 11D corresponds to the processing of themanagement server 103 in step S918 in the sequence diagram of FIG. 9.

In step S1160, the handover management unit 701 receives an acquisitionrequest for handover information from the MFP 101. The acquisitionrequest includes a handover ID.

In step S1161, the handover management unit 701 refers to the handovermanagement table 702 and extracts handover information corresponding tothe handover ID included in the acquisition request.

In step S1162, the handover management unit 701 determines whether thehandover information is successfully extracted in step S1161. If thehandover information is successfully extracted (YES in step S1162), theprocessing proceeds to step S1163. If not (NO in step S1162), theprocessing proceeds to step S1164.

In step S1163, the handover management unit 701 transmits the extractedhandover information to the MFP 101 as a response to the acquisitionrequest received in step S1160. The processing is then ended.

In step S1164, the handover management unit 701 transmits a responseindicating that there is no handover information to the MFP 101 as aresponse to the acquisition request received in step S1160. Theprocessing is then ended.

The effects of the flowcharts of FIGS. 11A to 11D will be described. Thesequence information registered in the management server 103 can beupdated based on instructions from the web application 601. Themanagement server 103 can provide handover information to the MFP 101 inresponse to an acquisition request from the MFP 101.

FIGS. 12A and 12B are flowcharts illustrating processing of the mobileterminal 102 according to the present exemplary embodiment. The steps inthe flowcharts of FIGS. 12A and 12B are implemented by the CPU 311 ofthe mobile terminal 102 reading programs stored in the ROM 312 and theflash memory 314 into the RAM 313 and executing the programs. FIG. 12Ais a flowchart illustrating the processing of the mobile terminal 102when the mobile terminal 102 receives a user operation. The flowchart ofFIG. 12A corresponds to the processing of the mobile terminal 102 insteps S901 to S913 in the sequence diagram of FIG. 9.

In step S1201, the web content display unit 801 receives a startinstruction for the web application 601 from the user, and accesses astart URL with which a sequence is started in the application server 104(issues an acquisition request for web contents). In step S1202, the webcontent display unit 801 receives a response to the foregoing requestfrom the application server 104. In step S1203, the web content displayunit 801 determines whether the response includes a handover ID.Specifically, the web content display unit 801 determines whether theHTTP custom header includes a handover ID. While in the presentexemplary embodiment the HTTP custom header is used to deliver ahandover ID, other methods may be used. If the response includes ahandover ID (YES in step S1203), the processing proceeds to step S1204.If the response does not include a handover ID (NO in step S1203), theprocessing proceeds to step S1205.

In step S1204, the web content display unit 801 stores the handover IDreceived in step S1202. In the present exemplary embodiment, the WebStorage API defined by Hypertext Markup Language version 5 (HTMLS) isused to store the handover ID in Session Storage. However, other methodsmay be used.

In step S1205, the web content display unit 801 displays the response(web content) received in step S1202 on the operation unit 318. In stepS1206, the web content display unit 801 waits for the user's operation.If the web content display unit 801 accepts the user's operation, theprocessing proceeds to step S1207. In step S1207, the web contentdisplay unit 801 determines whether the accepted user operation is anoperation on the web application 601. If the accepted user operation isan operation on the web application 601 (YES in step S1207), theprocessing proceeds to step S1208. If not (NO in step S1207), theprocessing is ended.

In step S1208, the web content display unit 801 transmits a requestcorresponding to the user operation to the application server 104.

FIG. 12B is a flowchart illustrating the processing of the mobileterminal 102 when the mobile terminal 102 receives a connection requestfrom the MFP 101. The flowchart of FIG. 12B corresponds to theprocessing of the mobile terminal 102 in steps S916 and S917 in thesequence diagram of FIG. 9.

In step S1211, upon receipt of a connection request from the MFP 101,the MFP cooperation unit 802 establishes a connection with the MFP 101by short-range wireless communication. In step S1212, the MFPcooperation unit 802 obtains a handover ID from Session Storage. In stepS1213, the MFP cooperation unit 802 determines whether a handover ID issuccessfully obtained in step S1212. If a handover ID is successfullyobtained (YES in step S1213), the processing proceeds to step S1214. Ifnot (NO in step S1213), the processing is ended.

In step S1214, the MFP cooperation unit 802 notifies the MFP 101 of thehandover ID. In step S1215, the MFP cooperation unit 802 initializes thescreen of the operation unit 318. The processing is ended.

The establishment of the connection in step S1211 may be initiated byeither the mobile terminal 102 or the MFP 101. For example, in aconfiguration where the mobile terminal 102 determines the distance fromthe MFP 101 based on the radio field intensity of a Bluetooth(registered trademark) beacon issued from the MFP 101, the mobileterminal 102 initiates the connection to the MFP 101.

The effect of the flowchart of FIG. 12 will be described. The mobileterminal 102 can obtain a handover ID by accessing the applicationserver 104, store the handover ID, and notify the MFP 101 of thehandover ID.

FIG. 13 is a flowchart illustrating the processing of the MFP 101 whenthe mobile terminal 102 is placed on the mobile terminal placing spot.The flowchart of FIG. 13 corresponds to the processing of the MFP 101 insteps S915 to S929 in the sequence diagram of FIG. 9. The steps in theflowchart of FIG. 11 are implemented by the CPU 211 of the MFP 101reading programs stored in the HDD 214 into the RAM 213 and executingthe programs.

In step S1301, the mobile terminal cooperation unit 501 detects that themobile terminal 102 is placed on the mobile terminal placing spot byusing the contact detection sensor 224. The mobile terminal cooperationunit 501 may be configured to issue a Bluetooth (registered trademark)beacon if the mobile terminal 102 is detected to be placed. In stepS1302, the mobile terminal cooperation unit 501 establishes a connectionwith the mobile terminal 102 by short-range wireless communication.

In step S1303, the mobile terminal cooperation unit 501 waits for thereception of a handover ID from the mobile terminal 102 for a certaintime. If a handover ID is received (YES in step S1303), the processingproceeds to step S1304. If the certain time has elapsed withoutreceiving a handover ID (NO in step S1303), the processing is ended.

In step S1304, the menu display unit 502 transmits an acquisitionrequest for handover information corresponding to the handover IDreceived in step S1303 to the handover management unit 701 of themanagement server 103.

In step S1305, the menu display unit 502 receives a response to theacquisition request for handover information from the handovermanagement unit 701 of the management server 103.

In step S1306, the menu display unit 502 determines whether the responsereceived in step S1305 includes handover information. If handoverinformation is included (YES in step S1306), the processing proceeds tostep S1307. If handover information is not included (NO in step S1306),the processing is ended.

In step S1307, the menu display unit 502 calls the web browser 503 toaccess a handover URL included in the handover information. In stepS1308, the web browser 503 accesses the handover URL (web application601). The web browser 503 then accepts the user's operations asappropriate, interacts with the web application 601, and executes theweb application 601.

The effect of the flowchart of FIG. 13 will be described. The MFP 101establishes a connection with the mobile terminal 102, receives ahandover ID from the mobile terminal 102, and receives handoverinformation corresponding to the handover ID from the management server103. The MFP 101 can then perform processing based on the handoverinformation.

In the procedure described in the present exemplary embodiment, theoperation status of a web application cooperating with an MFP and beingoperated on a mobile terminal can be handed over to the MFP by simplymoving the mobile terminal to a position at a predetermined distancefrom the MFP. This improves the convenience of the user.

Other Embodiments

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

1. (canceled)
 2. An information processing system comprising: a firstdevice; and a second device; wherein the first device includes at leastone processor and at least a memory coupled to the at least oneprocessor and having instructions stored thereon, and when executed bythe at least one processor, acting as: a first execution unit configuredto execute an application; and a transmitting unit configured totransmit, to the second device, first information for handing over afirst screen which is a screen of the application and to which atransition occurred by performing an operation on the first device;wherein second device includes at least one processor and at least amemory coupled to the at least one processor and having instructionsstored thereon, and when executed by the at least one processor, actingas: a receiving unit configured to receive the first information; and asecond execution unit configured to execute the application; wherein,based on execution of communication between the first device and thesecond device, the transmitting unit transmits the first information tothe second device, and the second execution unit executes theapplication, with the first screen opened, by using the transmittedfirst information.
 3. The information processing system according toclaim 2, wherein the application is a web application.
 4. Theinformation processing system according to claim 2, wherein the seconddevice is an image processing device that has at least one of a printfunction or a scan function.
 5. The information processing systemaccording to claim 2, wherein the communication is near fieldcommunication (NFC) or Bluetooth communication.
 6. The informationprocessing system according to claim 2, wherein the transmitting unittransmits the first information to the second device on condition thatreception signal intensity of a Bluetooth signal transmitted from thesecond device is a predetermined level of intensity or higher.
 7. Theinformation processing system according to claim 6, wherein the at leastone processor of the second device further comprises a detecting unitconfigured to detect that the first device is placed on a predeterminedposition, and in a case where the first device is detected to be placedon the predetermined position, a Bluetooth (registered trademark) packetis transmitted.
 8. The information processing system according to claim2, wherein the transmitting unit transmits the first information to thesecond device via wireless local area network (LAN) communication whoseconnection is established based on connection information acquired fromthe second device via NFC communication.
 9. The information processingsystem according to claim 2, wherein the first information isinformation for handing over the screen of the application to which thetransition occurred by performing an operation on the first device andhanding over an operation state caused by the operation, and upontransmission of the first information to the second device, the secondexecution unit opens the first screen, with the operation state held.10. The information processing system according to claim 2, wherein thefirst information is information for calling up an identifier of theoperation screen and a setting value that was set on a previous screenbefore the operation screen.
 11. The information processing systemaccording to claim 2, further comprising a web server that provides theapplication; wherein the web server includes at least one processor andat least a memory coupled to the at least one processor and havinginstructions stored thereon, and when executed by the at least oneprocessor, acting as; a providing unit configured to provide the screenof the application; and a registering unit configured to register secondinformation in association with the first information, the secondinformation including information indicating the screen of theapplication to which the transition occurred by performing the operationon the first device; wherein, upon transmission of the first informationto the second device, the second execution unit accesses the web serverby using the first information, and the providing unit provides thefirst screen to the first device based on the second informationassociated with the first information.
 12. The information processingsystem according to claim 11, wherein the registering unit registers, inassociation with the first information, an identifier of an operationscreen and a setting value that was set on a previous screen before theoperation screen.
 13. The information processing system according toclaim 11, wherein the web server transmits the first information to thefirst device.
 14. The information processing system according to claim11, further comprising a management server configured to manage thefirst information; wherein the at least one processor and the at leastmemory further act as; a storing unit configured to store the firstinformation in association with a uniform resource locator (URL) foraccessing the web server; wherein, upon the transmission of the firstinformation to the second device, the second execution unit acquires theURL associated with the first information and accesses the web serverbased on the URL.
 15. The information processing system according toclaim 2, wherein the application is an application for causing thesecond device to perform processing, and the application provides aplurality of screens including a setting screen for making settings forcausing the second device to perform the processing.
 16. The informationprocessing system according to claim 2, wherein, based on execution ofshort-range wireless communication between the first device and thesecond device, the transmitting unit transmits the first information tothe second device.
 17. A method for an first device and an seconddevice, the method comprising; transmitting, to the second device, firstinformation for handing over a first screen which is a screen of theapplication and to which a transition occurred by performing anoperation on the first device; receiving the first information by thesecond device; and executing the application by the second device;wherein, based on execution of communication between the first deviceand the second device, the first information is transmitted from thefirst device to the second device, and, in the executing, theapplication is executed, with the first screen opened, by using thetransmitted first information.
 18. A first device comprising: at leastone processor and at least a memory coupled to the at least oneprocessor and having instructions stored thereon, and when executed bythe at least one processor, acting as; a first execution unit configuredto execute an application; and a transmitting unit configured totransmit, to the second device, first information for handing over afirst screen which is a screen of the application and to which atransition occurred by performing an operation on the first device;wherein, based on execution of communication between the first deviceand the second device, the transmitting unit transmits the firstinformation to the second device.
 19. A method for a first devicecomprising; executing an application; and transmitting, to a seconddevice, first information for handing over a first screen which is ascreen of the application and to which a transition occurred byperforming an operation on the first device; wherein, based on executionof communication between the first device and the second device, thefirst information is transmitted to the second device.